# 多阶段构建：Node.js + Python 运行时环境
FROM node:20-alpine

# 设置工作目录
WORKDIR /app

# 安装系统依赖和 Python
RUN apk add --no-cache \
    python3 \
    py3-pip \
    ca-certificates \
    tzdata \
    bash \
    curl

# 创建 Python 符号链接
RUN ln -sf python3 /usr/bin/python && \
    ln -sf pip3 /usr/bin/pip

# 全局安装常用 Node.js 工具
RUN npm install -g pnpm@latest

# 复制预编译的 Go 二进制文件
COPY ai /app/ai

# 设置执行权限
RUN chmod +x /app/ai

# 验证所有环境
RUN echo "=== 环境验证 ===" && \
    node --version && \
    npm --version && \
    npx --version && \
    pnpm --version && \
    python --version && \
    pip --version && \
    echo "=== 环境验证完成 ==="

# 健康检查
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
    CMD curl -f http://localhost:8080/health || exit 1

# 暴露端口
EXPOSE 8080

# 启动应用
CMD ["/app/ai"]